Introduction
Purpose
Technologies Used
User Roles
Admin
Teacher
Student
Academic Officer
Technologies Used
PHP
HTML
CSS (Bootstrap 5)
JavaScript
Ajax
MySQL
Git and GitHub
Design Approach
HTML and CSS
Bootstrap Integration
Backend Development with PHP
Frontend-Backend Communication with JavaScript and Ajax
Database Structure Overview
Tables
Relationships
Examples
UI Overview
Login Page
Dashboard
Admin Panel
Teacher Panel
Student Panel
Academic Officer Panel
The LMS (Learning Management System) Web Application is designed to provide various functionalities to different users based on their roles. The application is developed using a combination of PHP, HTML, CSS (Bootstrap 5), JavaScript, Ajax, MySQL, Git, and GitHub. The application allows users to log in as admin, teacher, student, or academic officer, each with their own set of features and interfaces.
The admin role has access to the admin panel, which enables them to manage users, courses, and other administrative tasks.
Teachers can log in and access the teacher panel, where they can manage course content, assignments, and interact with students.
Students can log in and access the student panel, which provides access to course materials, assignments, and communication with teachers.
The academic officer has a specialized panel for managing academic-related tasks, such as course scheduling, enrollment, and generating reports.
The application is built using the following technologies:
PHP: Backend scripting language for server-side logic.
HTML: Markup language for structuring web content.
CSS (Bootstrap 5): Styling framework for creating responsive and visually appealing designs.
JavaScript: Programming language for interactive frontend elements.
Ajax: Asynchronous communication between frontend and backend.
MySQL: Database system for storing and managing application data.
Git and GitHub: Version control and collaborative platform for managing code.
The application's design is centered around the integration of HTML and CSS for structuring and styling web pages. Bootstrap 5 is used to enhance the visual design and responsiveness of the application. The backend logic is developed using PHP, enabling dynamic content
generation. JavaScript and Ajax are employed for seamless communication between the frontend and backend, enabling real-time interactions.
By following this outline, you can create a simple and organized documentation for your LMS Web Application. Be sure to add detailed descriptions, screenshots, and code snippets to explain each section thoroughly. Good luck with your project!
Users
- Columns: user_id, username, password, role_id, full_name, email, created_at
Roles
- Columns: role_id, role_name
Courses
- Columns: course_id, course_name, course_description, teacher_id
Students
- Columns: student_id, user_id, enrollment_date
Teachers
- Columns: teacher_id, user_id
Notes
- Columns: note_id, user_id, content, created_at
LeaveRequests
- Columns: request_id, student_id, reason, status, created_at
Notices
- Columns: notice_id, title, content, user_id, created_at
Users Table:
Role ID in the Users table is a foreign key referencing the Roles table.
Courses Table:
Teacher ID in the Courses table is a foreign key referencing the Teachers table.
Students Table:
User ID in the Students table is a foreign key referencing the Users table.
Teachers Table:
User ID in the Teachers table is a foreign key referencing the Users table.
Notes Table:
User ID in the Notes table is a foreign key referencing the Users table.
LeaveRequests Table:
Student ID in the LeaveRequests table is a foreign key referencing the Students table.
Notices Table:
User ID in the Notices table is a foreign key referencing the Users table.
**Retrieve Courses and Associated Teacher's Name:**
```sql
SELECT c.course_name, t.user_id, u.full_name AS teacher_name FROM courses c
INNER JOIN teachers t ON c.teacher_id = t.teacher_id INNER JOIN users u ON t.user_id = u.user_id;
```
**Retrieve Leave Requests with Student Details:**
```sql
SELECT r.request_id, s.student_id, u.full_name AS student_name, r.reason, r.status FROM leave_requests r
INNER JOIN students s ON r.student_id = s.student_id INNER JOIN users u ON s.user_id = u.user_id;
```
**Retrieve Teacher's Notes:**
```sql
SELECT n.note_id, u.full_name AS teacher_name, n.content, n.created_at FROM notes n
INNER JOIN users u ON n.user_id = u.user_id WHERE u.role_id = 'teacher_role_id';
```
After successful login, users are directed to a dashboard that provides an overview of their roles and tasks.
Users are greeted with a login page where they can enter their credentials to access the application based on their role.
The admin panel includes functionalities such as user management, course management, and administrative settings.
View profile
Edit profile.
Change password
Subcategories implemented in Admin Panel
Teacher
Student
Officer
Notice board
check results.
Courses
Leave request
The teacher panel allows teachers to manage course content, assignments, and interact with students through announcements and discussions.
Dashboard
View Profile
View Student's Profile
Add Assignment
Add Lesson Notes
View Answer Sheets
Download Answer Sheets
Student Notices
View Public Notices
Student Marks
Student Leave Request
Reset Password
Logout
The student panel provides students with access to course materials, assignment submissions, grades, and communication with teachers.
Dashboard
View Profile
Teachers Details
Download Assignment
Upload Answers
Class Timetable
Teacher's Notice
School Notices
Your Results
Request for leave
Course Details
Change Password
Logout
The academic officer panel offers tools for managing academic tasks, including course scheduling, enrollment management, and report generation.
Dashboard
View Profile
Edit Profile
Change Password
Logout